package Procesos;

import Interfaz.*;
import javax.swing.tree.DefaultMutableTreeNode;  //tiene todos los métodos necesarios para saber quién es hijo de quién 
                                                //y los métodos necesarios para cambiar estas asociaciones.
import negocio.EntidadXML;
/**
 *
 * @author Emiliano
 */
public class ArmarArbol {
    
     public DefaultMutableTreeNode raiz,  hijos,  elementos;
     
     public void armarArbol(EntidadXML entidad, VentanaPrincipal Vp) {
        cargarRaiz(entidad.getNombre());
        for (int i = 0; i < entidad.getHijos().size(); i++) {
            EntidadXML hijo = entidad.getHijos().get(i);

            StringBuffer stringCargaHijo = new StringBuffer();
            stringCargaHijo.append(hijo.getNombre());
            if (!hijo.getTodosLosAtributos().equals("")) {
                stringCargaHijo.append(" - ");
                stringCargaHijo.append(hijo.getTodosLosAtributos());
            }

            cargarHijo(stringCargaHijo.toString());

            for (int j = 0; j < hijo.getHijos().size(); j++) {
                EntidadXML elemento = hijo.getHijos().get(j);
                cargarElemento(elemento.getNombre() + " - " + elemento.getContenido());
            }
        }

        Vp.inicializarArbol(raiz);
    }

    public void cargarRaiz(String valor) {
        raiz = new DefaultMutableTreeNode(valor);
    }

    public void cargarHijo(String valor) {
        hijos = new DefaultMutableTreeNode(valor);
        raiz.add(hijos);

    }

    public void cargarElemento(String valor) {
        elementos = new DefaultMutableTreeNode(valor);
        hijos.add(elementos);
    }
     
}
